home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 18
/
CU Amiga Magazine's Super CD-ROM 18 (1997)(EMAP Images)(GB)[!][issue 1998-01].iso
/
CUCD
/
Utilities
/
ViNCEd
/
Include
/
Menu.h
< prev
next >
Wrap
C/C++ Source or Header
|
1997-07-29
|
3KB
|
91 lines
#ifndef VNC_MENU_H
#define VNC_MENU_H
/*********************************************************
** ViNCEd **
** a DOS - window handler **
** **
** © 1991-97 THOR-Software inc. **
** Version 3.30 **
** **
** program version 1.23 05/03/91 THOR **
** update version 1.25 06/19/91 THOR **
** header file 06/19/91 THOR **
** updated to 3.30 03/31/97 THOR **
** **
** ViNCEd Menu constructor **
**-----------------------------------------------------**
** **
** all use at your own risk,etc.,etc. **
** **
** Everything declared as "reserved" or **
** "not used" is NOT free for your use, **
** it will propably used in a later release. **
** All FREE entries are free for public **
** use and are, if not otherwise noticed, **
** initialized as ZERO **
*********************************************************/
#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif
struct ViNCMenu {
UBYTE vmc_Type; /* see definitions below */
UBYTE vmc_Flags; /* flags for intuition,
goes to flags fields, lo byte */
char vmc_Shortcut; /* shortcut character, if any */
char vmc_Text[1]; /* title goes here. MUST be NUL
terminated string, more than one
character is allowed, of course,
but C syntax is too limiting to
define it differently.
*/
};
/* The whole menu is simply a bunch of these structures, one followed
by another. The list is terminated with an item of type VMC_LASTMENU.
See the localization drawer sys1.asm for an example how this looks
like */
/* Type definitions */
/* a menu title */
#define VMC_MENU 1
/* a menu item */
#define VMC_MENUITEM 2
/* a subitem of an item */
#define VMC_SUBITEM 3
/* the last menu at all */
#define VMC_LASTMENU 0x81
/* the last menu item in a menu */
#define VMC_LASTITEM 0x82
/* the last subitem in a list of subitems */
#define VMC_LASTSUBITEM 0x83
/* the last bit itself */
#define VMC_LAST_BIT 7
#define VMC_LAST_MASK 0x80
/* a bit that this is a special function, not a string */
#define VMC_ISFUNC_BIT 6
#define VMC_ISFUNC_MASK 0x40
/* the bits giving the function index and the type */
#define VMC_FUNCMASK 0x3c
#define VMC_FUNCSHIFT 2
#define VMC_TYPEMASK 3
/* Shift by FUNCSHIFT to get the function index.
Functions 0..9 are the macro texts of macros 0..9
10 to 12 are the history,upper and lower size
13 to 15 are the copyright texts */
#endif